telegram_bug_report

Completed Changes

Modified the askForPermissons method in DialogsActivity.java to resolve the issue of repeatedly requesting READ_MEDIA_* permissions on every app launch.

Core Modification

Added shouldShowRequestPermissionRationale checks before requesting READ_MEDIA_IMAGES and READ_MEDIA_VIDEO permissions.

// DialogsActivity.java line:10547
if (activity.checkSelfPermission(Manifest.permission.READ_MEDIA_IMAGES) != PackageManager.PERMISSION_GRANTED && activity.shouldShowRequestPermissionRationale(Manifest.permission.READ_MEDIA_IMAGES)) {
    permissons.add(Manifest.permission.READ_MEDIA_IMAGES);
}
if (activity.checkSelfPermission(Manifest.permission.READ_MEDIA_VIDEO) != PackageManager.PERMISSION_GRANTED && activity.shouldShowRequestPermissionRationale(Manifest.permission.READ_MEDIA_VIDEO)) {
    permissons.add(Manifest.permission.READ_MEDIA_VIDEO);
}
if (activity.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED && activity.shouldShowRequestPermissionRationale(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {  
    permissons.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);  
}

Expected Verification Results

Before Fix

After Fix

Next Steps

I've identified several other permission-related issues. If needed, I'm happy to continue providing fixes and improvements.

Best regards